1. Field of the Invention
The present invention relates in general to a network routing switch for routing both ATM and Ethernet protocol data transmissions between stations of a computer network, and in particular to a routing switch that translates between the two protocols.
2. Description of Related Art
Ethernet and asynchronous transfer mode (ATM) protocols are widely used to convey data between network stations. A station in an Ethernet network sends data to other stations in the form of a variable length Ethernet packet including, in addition to a payload of 46 to 1500 bytes of data, fields indicating its network source and destination addresses and other information. An Ethernet packet must be sent and received as a continuous transmission and cannot be interleaved with other transmissions.
A station in an ATM network segments a data transmission into a variable number of 48-bit ATM cells. Each ATM cell includes a fixed length data payload, a virtual path identifier (VPI), a virtual channel identifier (VCI) and other information. All ATM cells forming an ATM transmission have the same VCI and VPI identifiers. The VPI field identifies a particular virtual path that the cells of the transmission are to follow through the network. Each virtual path may have several virtual channels. The VCI field identifies the particular virtual channel within a virtual path to which a transmission is assigned. When two ATM transmissions are assigned to the same virtual channel of the same virtual path, one transmission must follow the other; their cells may not be interleaved. An end of message (EOM) code included in the last cell of each transmission marks the boundary between that transmission and the next transmission of the same virtual path and channel. Cells of several ATM transmissions assigned to the same virtual path may be interleaved on the same physical transmission line at any point along that path provided they are assigned to different virtual channels. The VPI field in the cells allows a receiving network device to sort them by transmission.
In one respect Ethernet packets are more efficient than ATM transmissions because an Ethernet packet can contain more payload data per unit of routing information than an ATM cell. However in networks where stations must compete for high speed transmission channels, the ability to interleaved ATM cells allows more efficient use of data transmission bandwidth.
It is sometimes advantageous for a network to employ both ATM and Ethernet protocols. For example a small cluster of closely associated network stations interconnected by a network routing switch may communicate with one another via Ethernet protocol. However when routing switches interconnecting such clusters of network stations are themselves interconnected by high speed channels, it may be advantageous to employ ATM protocol when sending data over those high speed channels. In such systems "segmentation" and "reassembly" units are used to convert between Ethernet and ATM transmission protocols. A segmentation unit segments a large Ethernet packet into a sequence of smaller ATM cells. A reassembly unit "reassembles" a transmission of small ATM cells into one or more large Ethernet packets.
Prior art routing switches handle only one transmission protocol. Thus, for example, when a network switch uses Ethernet protocol, a reassembly unit must convert each ATM transmission to Ethernet protocol before the transmission arrives at the switch. Conversely a segmentation unit must convert an Ethernet packet emerging from the switch to ATM protocol before it can be forwarded via a high speed ATM channel. Thus segmentation and reassembly units are required at each Ethernet switch port that is to communicate via ATM protocol.
A segmentation unit is relatively simple and requires relatively little storage capacity because it need only process one Ethernet packet at a time. However since cells of many (perhaps hundreds) of different ATM transmissions may arrive at a reassembly unit interleaved, a reassembly unit requires much logic and memory to sort out the interleaved ATM transmissions and to store the cells of each ATM transmission until they can be assembled into an Ethernet packet. Thus each reassembly unit requires access to a large memory for storing ATM cells of large numbers of data transmissions and also needs complicated logic for keeping track of the ATM transmissions that it is storing. Due to the complicated nature of the reassembly unit and its need for a large, external memory, a segmentation/reassembly unit capable of handling high speed data traffic is physically large and requires numerous I/O pins. Since such a segmentation/reassembly unit may be needed for each of several switch ports, a network switch capable of ATM/Ethernet translation is large and expensive.
Also since the routing switch operates only in one protocol, an ATM packet destined for an ATM system must first be translated into Ethernet protocol, sent through the Ethernet protocol routing switch, and then converted back into ATM protocol. The double translation of ATM packets simply to move them through an Ethernet protocol switch reduces system throughput.
What is needed is a network switch that routes both ATM and Ethernet protocol transmissions, that provides segmentation and reassembly only when necessary, and which does not employ a large number of complicated segmentation/reassembly units.